import { createStore } from 'vuex'

const USER = "USER";
const USERINFO= "USERINFO";

export default createStore({
    state:{
        name: 'hello',
        username:SessionStorage.get(USER) || {},
        userinfo:SessionStorage.get(USERINFO) || { }
    },

    mutations:{
        changeMutation(store,str){
            this.state.name=str;
        },
        setUserName(state,user){
            this.state.username = user;//刷新时数据丢失
            SessionStorage.set(USER,user); //刷新时数据不丢失
        },
        setUserInfo(state,userinfo){
            SessionStorage.set(USERINFO,userinfo);
        }
    },

    actions:{
        change(store,str) {
            setTimeout(() =>{
                store.commit('changeMutation',str)
            },2000)
        }
    },
    modules:{

    }
})
/*
state:状态，定义数据，存放全局数据

mutations:改变

actions:行为

modules:模块

    store是一个全局的数据存储仓库，当前端页面中有几十个页面需要共用数据的时候，并且要对数据进行存储改变操作时需要进行统一管理。
几十个页面需要共用数据时，可以使用vuex中store来存储数据，并且可以对公共的数据进行修改等操作。

其他页面引用:this.$store.state.name;
详细见E/下载文件图片/springboot/vuex
*/
